Character generators are systems that are used to add text, such as titles and credits, to video programs, such as a television, film, video and other multimedia programs. Titles often are designed to roll or crawl over a screen, commonly called scrolling. Other effects commonly are performed. Some character generators focus on providing real-time multichannel mixing of titling and video. Some provide more advanced creative features which are not producible in real-time.
Most computer systems which render alphanumeric character strings, such as word processors or character generators, generally represent the character string as a set of characters, for example by using a tree or an array. Each character is defined by a code that refers to a bit-mapped image or raster image of the character. Alternatively, the code may refer to a set of curves defining the outline of the character which is converted to a bit-map or raster image. The data structure representing the character string is processed to layout each character in a plane according to the font, the character metric, the character size and the spacing between characters. The characters are then drawn in the image by placing the image of the character at a designated position in the plane. The plane is then displayed, possibly with some spatial transformation. Because character generators generally use bit-mapped images or raster images of text to add characters to video, spatial transformations performed on the characters may result in visual artifacts that are undesirable, such as pixellation.
Several systems are available through which three-dimensional models of characters may be generated. One such system is shown in U.S. Pat. No. 5,805,783 (Ellson). Additional systems are described in xe2x80x9cDesigner Letters,xe2x80x9d Computer Graphics, November 1991. Most three-dimensional character generation systems require either complex three-dimensional model generation software, in which animation is provided through the same mechanisms that other three-dimensional models are animated. In such systems it is difficult to provide the real time editing and viewing of these three-dimensional effects.
A character is represented in a character generator as a set of polygons and may be manipulated using three-dimensional animation techniques. A code for a character may be used to access a set of curves defining the outline of the character. This set of curves is transformed into a set of polygons. The set of polygons may be rendered as a three-dimensional object. The set of polygons may be created by converting the curves into sets of connected line segments and then tessellating the polygon defined by the line segments.
Properties of a character may be animated over time or along a path. Animation over time may use a normalized scale over time to allow animation to be provided in a manner that is independent of the spatial and temporal resolution of the video to which it is applied. Properties of a character also may be a function of position of the character on a path. The position of the character on the path may vary over time or may be static. Two paths or rails also may be used to define the spatial properties of characters. Such animation may be applied to characters defined by a set of polygons. Various three-dimensional spatial transformations, lighting effects and other colorizations may be provided. These effects may be defined by key frames in an editing system used to create video program.
A user interface for editing a character string may provide two alternate displays. A first display allows a user to input and view any desired portion of the character string for the purpose of editing only the characters, but displaying them in three dimensions. A second display allows a user to view and edit how the character string appears at a selected point in time or position along a path during a titling effect for the purpose of animation. In both of these displays, the text is displayed in a three-dimensional form. This interface may be combined with a timeline editing interface for editing an associated video program, or other user interface, to permit layering of titling effects and adjustment of animation properties and timing.
Accordingly, in one aspect, a computer-implemented method and computer system generates a representation of an alphanumeric character as a set of polygons defining a surface of the alphanumeric character. A computer program product containing computer program instructions for performing the method also may be provided. An input providing an indication of a character code identifying the alphanumeric character is received. Curves defining an outline of the alphanumeric character are identified according to the character code. A set of polygons defining a surface of the alphanumeric character are generated from the identified curves for the character code. The set of polygons may be generated by converting the curves into a set of connected line segments and tessellating the set of connected line segments to obtain the set of polygons. A user may define a path on which one or more alphanumeric characters is placed. The properties of the characters may depend on their positions along the path.
In another aspect, a method and computer system produces three-dimensional animation of alphanumeric characters. An input defining an outline of the alphanumeric character is received. Properties are associated with the character. A period of time during which the character is displayed or a path on which the character is placed may be defined. The properties associated with the character may vary according to the point in time in the defined period of time or the position of the character on the defined path. A set of polygons defining a surface of the character is generated using the received outline and properties. The set of polygons is rendered on a display according to the properties as specified over the period of time or along the path.
In another aspect, a graphical user interface for displaying three-dimensional animated alphanumeric characters receives an indication of an alphanumeric character. In response to a receipt of an indication of an alphanumeric character, a set of polygons representing the alphanumeric character is generated according properties associated with the alphanumeric character. The set of polygons is rendered on a display. The properties may be determined according to a position of the character along a path, or as a function of time.
Another aspect is a video program produced by the process of generating a three-dimensional model of animated characters along apath or over time.